package com.cmc.cloud.cmclink.doc.service.multimodaltransport;

import java.util.List;

import javax.validation.Valid;

import com.cmc.cloud.cmclink.doc.vo.multimodaltransport.containermanifest.*;
import com.cmes.framework.common.pojo.PageResult;

/**
 * 海运费附加费 Service 接口
 *
 * @author 集运管理员
 */
public interface ContainerManifestService {

    /**
     * 集装箱清单导入
     *
     * @param reqVo 导入参数
     * @param exImType 进出口类型
     */
    void importContainerManifest(@Valid ContainerManifestImportAllReqVO reqVo, String exImType);

    /**
     * 集装箱清单导入
     *
     * @param reqVo 导入参数
     */
    void importContainerManifestCnsha(@Valid ContainerManifestImportCnshaAllReqVO reqVo);

    /**
     * check集装箱清单
     *
     * @param reqVo check参数
     * @param exImType 进出口类型
     * @return list
     */
    List<ContainerManifestImportReqVO> checkContainerManifest(@Valid ContainerManifestImportAllReqVO reqVo,
        String exImType);

    /**
     * check集装箱清单
     *
     * @param reqVo check参数
     * @return list
     */
    List<ContainerManifestImportCnshaReqVO>
        checkContainerManifestCnsha(@Valid ContainerManifestImportCnshaAllReqVO reqVo);

    /**
     * 集装箱清单分页查询
     *
     * @param pageVo 过滤参数
     * @param exImType 进出口类型
     * @return PageResult
     */
    PageResult<ContainerManifestRespVO> getContainerManifestPage(ContainerManifestPageReqVO pageVo, String exImType);
}
